package com.ecelin;

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 填充一个最简单的Pdf表格
 */
public class 填充一个最简单的Pdf表格 {
    public static void main(String[] args) {
        try {
            // 创建一个新的 PDF 文档
            Document document = new Document(PageSize.A4);
            PdfWriter.getInstance(document, new FileOutputStream(System.getProperty("user.home") + "/Desktop/填充一个最简单的Pdf表格.pdf"));
            document.open();

            // 设置中文字体
            BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
            Font fontChinese = new Font(bfChinese, 12, Font.NORMAL, BaseColor.RED);

            // 添加文本内容
            document.add(new Paragraph("创建一个简单的PDF", fontChinese));

            // 创建表格
            PdfPTable table = new PdfPTable(3);
            table.addCell(new Paragraph("姓名", fontChinese));
            table.addCell(new Paragraph("年龄", fontChinese));
            table.addCell(new Paragraph("地址", fontChinese));
            table.addCell(new Paragraph("张三", fontChinese));
            table.addCell(new Paragraph("25", fontChinese));
            table.addCell(new Paragraph("重庆大渡口区", fontChinese));
            table.addCell(new Paragraph("李四", fontChinese));
            table.addCell(new Paragraph("30", fontChinese));
            table.addCell(new Paragraph("北京朝阳区", fontChinese));

            // 设置表格之前的间距
            table.setSpacingBefore(20f);

            // 设置表格之后的间距
            table.setSpacingAfter(20f);

            // 设置表格的总宽度
            table.setTotalWidth(300f);

            // 将表格添加到 PDF
            document.add(table);

            document.close();

            System.out.println("PDF 文件生成成功！");
        } catch (DocumentException | IOException e) {
            e.printStackTrace();
        }
    }
}
